home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 39
/
Aminet 39 (2000)(Schatztruhe)[!][Oct 2000].iso
/
Aminet
/
biz
/
swood
/
FW_AllInOne.lha
/
Makros
/
TabSchrift.long
< prev
next >
Wrap
Text File
|
1998-01-17
|
8KB
|
282 lines
/********************************************
* Schrift einer Zelle für FW5+ *
* $VER: 1.0 © Heiko Schröder (09.01.98) *
********************************************/
Parse ARG FW
if ~show('L',"rexxreqtools.library") then
if ~addlib('rexxreqtools.library',0,-30,0) then do
'ShowMessage 1 1 "Fehler...." "Benötige Libs:rexxreqtools.library" " A B B R U C H ! !" "Okay" "" ""'
exit
end
IF ~show('L','tritonrexx.library') then
IF ~ADDLIB('tritonrexx.library',10,-30,0) THEN DO
'ShowMessage 2 1 "Fehler...." "Benötige Libs:tritonrexx.library" "" "Abbruch" "" ""'
exit
END
R='0A'X
If FW='' then do
Address='FinalW'
Options results
STATUS PORTNAME
FW=result
End
address(FW)
SIGNAL ON SYNTAX
address "REXX"
If open('Hilfe',"S:FW_Paket.prefs","R") then do
HilfeVerz=readln('Hilfe')
Call Close('Hilfe')
End
else HilfeVerz=''
If open('pref','S:FW_TabSchrift.prefs','R')~=0 then do
fo=readln('pref')
si=readln('pref')
ausrichtung=readln('pref')
Call close('pref')
END
else do
fo="SoftSans"; si=12; ausrichtung=1
END
pos = max(index(fo,':'),lastpos('/',fo))
If pos~=0 then fond=Delstr(fo,1,pos)
else fond=fo
ausrichtung.0 = 5
ausrichtung.1 = ' -----'
ausrichtung.2 = ' links'
ausrichtung.3 = 'zentriert'
ausrichtung.4 = ' rechts'
ausrichtung.5 = 'Blocksatz'
apptags = 'TRCA_Name TabSchrift',
'TRCA_LongName "Schrift einer Tabelle"',
'TRCA_Info "Makro für Finalwriter"',
'TRCA_Version "1.0 registered"',
'TRCA_Release "3"',
'TRCA_Date "09.01.98"',
'TAG_END'
windowtags = WindowID(1),
WindowPosition('TRWP_CENTERDISPLAY'),
WindowFlags('TRWF_NOMINTEXTWIDTH'),
PubScreenName('FinalWriterPubScreen'),
WindowTitle('Tabellenschrift'),
BeginMenu('Projekt'),
MenuItem('Q_Verlassen',104),
BeginMenu('?'),
MenuItem('?_Info',101),
MenuItem('H_Hilfe',103),
'HorizGroupAC',
'SpaceS',
'VertGroupA SpaceS',
'HorizGroupAC',
TextID('S_chriftart:',1),
'SpaceS',
GetEntryButton(1),
StringGadget(fond,2),
'EndGroup',
'HorizGroupAC',
TextID('Schrift_größe:',3),
'SpaceS',
StringGadget(si,3),
'EndGroup',
'HorizGroupAC',
TextID('Aus_richtung:',4),
'SpaceS',
CycleGadget('ausrichtung',ausrichtung-1,4) 'TRAT_Flags TRCY_RIGHTLABELS',
'EndGroup',
'SpaceS',
'HorizSeparator',
'SpaceS',
'HorizGroupEC',
Button('_Anwenden',10),
'SpaceS',
Button('Ab_bruch',20),
'EndGroup SpaceS',
'EndGroup SpaceS',
'EndGroup SpaceS',
'EndProject'
app = TR_CREATEAPP('TRCA_Name TabSchrift')
IF app ~= '00000000'x THEN DO
window = TR_OPENPROJECT(app,windowtags)
IF window ~= '00000000'x THEN DO
ende = 0
DO WHILE ~ende
CALL TR_WAIT(app,'')
DO WHILE TR_HANDLEMSG(app,'event')
IF event.trm_class = 'TRMS_CLOSEWINDOW' THEN ende=1
IF event.trm_class = 'TRMS_NEWVALUE' THEN DO
SELECT
WHEN event.trm_id = 4 THEN ausrichtung=event.trm_data+1
OTHERWISE NOP
END
END
IF event.trm_class = 'TRMS_ACTION' THEN DO
SELECT
WHEN event.trm_id = 1 THEN Do /*Schriftart*/
fond=rtfilerequest("FWFonts/SWOLFonts",,"Font auswählen...",,"rt_pubscrname=FinalWriterPubScreen")
if fond~='' then do
fo=fond
pos = max(index(fond,':'),lastpos('/',fond))
If pos~=0 then fond=Delstr(fond,1,pos)
CALL TR_SETATTRIBUTE(window,2,'TROB_String',fond)
End
END
WHEN event.trm_id = 10 THEN Do /*okay*/
Call Auslesen
if okay=1 then do
Call program
address "REXX"
Call Open("prefs","s:FW_TabSchrift.prefs","W")
Writeln('prefs',fo)
Writeln('prefs',si)
Writeln('prefs',ausrichtung)
Call Close("prefs")
End
END
WHEN event.trm_id = 20 THEN ende=1 /*Abbrechen*/
WHEN event.trm_id = 101 THEN Call rtezrequest("Aus dem Makro-Paket:"||R||R||"Tabellenschrift V0.2beta für FW"||R||"© 1998 Heiko Schröder","Danke für Ihre Registrierung.","Info","rt_pubscrname=FinalWriterPubScreen")
WHEN event.trm_id = 103 THEN address command "run Multiview PUBSCREEN=FinalWriterPubScreen "||d2c(34)||HilfeVerz||"TabSchrift.guide"||d2c(34)
WHEN event.trm_id = 104 THEN ende=1
OTHERWISE NOP
END
END
END
END
CALL TR_CLOSEPROJECT(window)
END
CALL TR_DELETEAPP(app)
END
ELSE
CALL quit('Kann das Fenster nicht öffnen',10)
Exit
Auslesen:
okay=0
xy = TR_GETATTRIBUTE(window,2,'TROB_String')
If xy='' then do
fo=''; fond=''
End
si = TR_GETATTRIBUTE(window,3,'TROB_String')
Select
When si='' then NOP
When Datatype(si,'W')=0 then do
x=rtezrequest("Die SCHRIFTGRÖßE bitte ganzzahlig angeben!","_Achso","Eingabe-Fehler","rt_pubscrname=FinalWriterPubScreen")
Call TR_SendMessage(window,7,'TROM_ACTIVATE',0)
return
end
Otherwise do
If si<4 then si=4
If si>360 then si=360
End
End
okay=1
Return
Program:
Call rtezrequest("Cursor in die erste Zelle stellen.","_Getan","ACHTUNG!","rt_pubscrname=FinalWriterPubScreen")
address(FW)
TableGetActiveCell
If Words(result)=2 then do
Anfx=Word(result,1)
Anfy=Word(result,2)
end
else do
'ShowMessage 1 0 "Fehler..." "" "" "Ende" "" ""'
Return
End
Call rtezrequest("Cursor in die letzte Zelle stellen.","_Getan","ACHTUNG!","rt_pubscrname=FinalWriterPubScreen")
TableGetActiveCell
If Words(result)=2 then do
Endx=Word(result,1)
Endy=Word(result,2)
end
else do
'ShowMessage 1 0 "Fehler..." "" "" "Ende" "" ""'
Return
End
If Anfx>Endx then do
help=Anfx; Anfx=Endx; Endx=help
End
If Anfy>Endy then do
help=Anfy; Anfy=Endy; Endy=help
End
Do x=Anfx to Endx
Do y=Anfy to Endy
TableSetActiveCell x y
SelectAll
If fo~='' then Font fo
If si~='' then FontSize si
Select
When ausrichtung=2 then Justify Left
When ausrichtung=3 then Justify Center
When ausrichtung=4 then Justify Right
When ausrichtung=5 then Justify Full
otherwise NOP
End
End
End
Redraw
Return
/*******************************************************************************
** Routine, die bei einer Unterbrechung des Scripts aufgerufen wird
*******************************************************************************/
SYNTAX:
CALL quit('Fehler' rc 'in Zeile' sigl '-' ERRORTEXT(rc)||R||SOURCELINE(sigl)||R||'Bitte informieren Sie den Autor...',20)
/*******************************************************************************
** Script beenden
*******************************************************************************/
quit:
PARSE ARG message,rcode
IF app ~= '00000000'x THEN DO
IF message ~= '' THEN
ret=rtezrequest(message,"_Okay","ACHTUNG!","rt_pubscrname=FinalWriterPubScreen")
CALL TR_DELETEAPP(app)
END
ELSE
IF message ~= '' THEN DO
SAY message
SAY
OPTIONS PROMPT 'Bitte <RETURN> drücken'
PULL taste
END
address command "flushtrx all"
EXIT(rcode)